[t:/]$ 지식_

web2py logger

2014/08/25

기본적으로 db connect, log, http IO, MVC 점핑 관계, 쓰레드 모델을 파악하는 것이 최우선이라..

logger에 꽂혀서 며칠 뒤졌다.

gluon/main.py 에서 logging.conf 를 찾는다.

logging.conf는 인터넷에서 예제를 찾을 수 있다. 기본 패키지에는 예제가 없다. 어쩌라구?

핸들러 로그 레벨과 로거의 로그 레벨을 따로 간다. 어쩌라구?

기본 로거 도메인은 web2py다.

main.py에 있는 내용이다.

logging.conf에 web2py 도메인을 추가하면 프레임웍을 안 건들 수 있다.

이전 레거시 프로젝트에는 이거저거 시도하다 프레임웍 소스를 바로 손댔다능 ... 이해가 간다..

logpath = abspath("logging.conf")
if exists(logpath):
    logging.config.fileConfig(abspath("logging.conf"))
else:
    logging.basicConfig()
    logger = logging.getLogger("web2py")

레벨을 핸들러에만 붙이는 것이 편하겠다.

INFO와 DEBUG만 쓴다. 개발시엔 DEBUG로 찍고, INFO로 주요 데이터를 로깅한다.

[loggers]
keys=root,dawnsea,web2py

[logger_root]
level=WARNING
handlers=consoleHandler

[logger_dawnsea]
level=DEBUG
qualname=dawnsea
handlers=consoleHandler
propagate=0

[logger_web2py]
qualname=web2py
level=INFO
handlers=consoleHandler
propagate=0

[handlers]
keys=consoleHandler

[handler_consoleHandler]
class=StreamHandler
#level=DEBUG
level=INFO
formatter=shortFormatter
args=(sys.stdout,)

[formatters]
keys=simpleFormatter, shortFormatter

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

[formatter_shortFormatter]
format=%(levelname)s-%(message)s-%(filename)s-%(lineno)d
datefmt=








[t:/] is not "technology - root". dawnsea, rss